iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0

今天是挑戰的第27天!!!!

昨天把靶子加入遊戲了,那接下來要把飛鏢加入,因為在素材商店沒找到飛鏢的模組,因此用劍來代替,但厲害的遊戲大多都是自製的OAO!

替代素材:https://assetstore.unity.com/packages/3d/props/weapons/rpg-swords-7056

靶子跟件都有了,靶子需要建立Collider,兩個都在右邊選項中。點選Add Component>>Physics>>Box Collider(記得不要選到2D Box Collider喔,3D遊戲是使用沒有2D字樣的Box Collider)。而劍需要Collider還需要加入Rigidbody(剛體)

跟之前一樣用Edit Collider編輯碰撞的範圍。

https://ithelp.ithome.com.tw/upload/images/20221010/20151024ty0tPclcre.png

設定好後,就要開始編寫程式,那目標是讓劍飛出去!!

程式碼:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class swordcontroller : MonoBehaviour
{
 public void Shoot(Vector3 dir)
    {
        GetComponent<Rigidbody>().AddForce(dir);
    }
    void Start()
    {
        Shoot(new Vector3(0, 200, 500));
    }
}

這次是使用AddForce方法對3D的向量施力,對Z軸施力是因為給他往前的力,而Y軸則是要抵銷Rigidbody附加的重力!!這樣就能在遊戲開始順利的讓劍飛出去,並且撞到靶上面!


上一篇
完成建立3D地形與物件
下一篇
3D碰撞(二)
系列文
從零開始用Unity設計遊戲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言